//--
app.controller('condominioController', 
		['$scope', '$http', 'condominioService', 'utilsService', 'dialogs',
		 function($scope, $http, condominioService, utilsService, dialogs) {
	
	$scope.list = true;
	$scope.isCreate = true;
	
	/** CREATE **/
	$scope.create = function(unidade) {
		
		$scope.unidade = null;
		$scope.list = false;
		$scope.isCreate = true;
		$scope.estados = utilsService.estados();
		
	};
	
	/** RETRIEVE **/
	$scope.retrieveFilter = function() {

		if($scope.filtro == undefined) {
			return;
		}
		
		var retrieveFilter = condominioService.retrieveFilter($scope.filtro.nome);
		retrieveFilter.then(function(resposta) {
			
			if(resposta != null) {
				if(resposta.data.status) {
					$scope.lista = resposta.data.object;
				} else {
					showAlertMessage(resposta.data.message);					
				}
			} else {
				showErrorMessage('Problemas de comunicação...');					
			}
		});
	};

	/** UPDATE **/
	$scope.update = function(unidade) {
		
		$scope.unidade = unidade;
		$scope.list = false;
		$scope.isCreate = false;
		$scope.estados = utilsService.estados();
		
	};

	/** DELETE **/
	$scope.dlete = function(unidade) {

		var dlg = dialogs.confirm('Confirma Exclusão?','Condomino: ' + unidade.nome);
        dlg.result.then(function(btn){

    		var deleteBack = condominioService.remove(unidade);
    		deleteBack.then(function(resposta) {
    			if(resposta != null) {
    				if(resposta.data.status) {
						var index = $scope.lista.indexOf(unidade);
						$scope.lista.splice(index, 1);
						showSuccessMessage(resposta.data.message);
    				} else {
    					showErrorMessage(resposta.data.message);
    				}
    			} else {
    				showErrorMessage('Problemas de comunicação...');
    			}
    		});
        	
        },function(btn){
          console.log('Shame on you for not thinking this is awesome!');
        });
        
		/*
		var modalInstance = $modal.open({
            template: 'pages/condominioForm.html',
            controller: ModalInstanceCtrl,
            resolve: {
                unidade: function () {
                  return unidade;
                },
	            lista: function () {
	                return $scope.lista;
	            }
        	}            
        });
		
		modalInstance.result.then(function (changed, list) {
		      unidade = changed;
		      lista = list;
	    });
	    */
	};
	
	$scope.save = function(isValid) {

		if(!isValid) {
			return;
		}
		
		var saveBack = condominioService.save($scope.unidade);
		saveBack.then(function(resposta) {
			if(resposta != null) {
				if(resposta.data.status) {
					$scope.unidade = resposta.data.object;
					if($scope.isCreate) {
						if($scope.lista == null) {
							$scope.lista = new Array();
						}
						$scope.lista.push($scope.unidade);
					}
					showSuccessMessage(resposta.data.message);
					$scope.list = true;
				} else {
					showErrorMessage(resposta.data.message);
				}
			} else {
				showErrorMessage('Problemas de comunicação...');
			}
		});
		
	};

	$scope.cancel = function(unidade) {
		$scope.list = true;
	};
	
	/*
	$scope.salvar = function() {

		$http
				.post(
						'service/condominio',
						$scope.unidade,
						{
							headers : {
								'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
							}
						}).success(function(data) {

					if ($scope.unidade.id == 0) {
						$scope.lista.unshift(data);
					}
					reset();
				});
	};

	$scope.editar = function(unidade) {
		$scope.unidade = unidade;
	};

	$scope.excluir = function(unidade) {

		var confirm = $window
				.confirm('Tem certeza que deseja excluir o condom�nio '
						+ unidade.nome + '?');
		if (confirm) {
			$http
					.post(
							'service/condominio/remove',
							unidade,
							{
								headers : {
									'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
								}
							}).success(function(data) {

						var index = $scope.lista.indexOf(unidade);
						$scope.lista.splice(index, 1);
					});
		}
	};

	var reset = function() {
		$scope.unidade = {
			id : 0,
			nome : ''
		};
	};

	var init = function() {

		$http.get('service/condominio').success(function(data) {
			$scope.lista = data;
		});

		reset();
	};

	init();
	*/
	
}]);

/*
function ModalInstanceCtrl($scope, $modalInstance, unidade, lista) {

	$scope.unidade = unidade;
	$scope.lista = lista;

	$scope.salvar = function() {

		$http
				.post(
						'service/condominio',
						$scope.unidade,
						{
							headers : {
								'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
							}
						}).success(function(data) {
							if ($scope.unidade.id == 0) {
								$scope.lista.unshift(data);
							}
							$modalInstance.close($scope.unidade, $scope.lista);
						});
	};

    $scope.cancel = function() {
        $modalInstance.dismiss('cancel');
    };
};
*/